<?php
/**
 * Application level Controller
 *
 * This file is application-wide controller file. You can put all
 * application-wide controller-related methods here.
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Controller
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */

App::uses('Controller', 'Controller');

/**
 * Application Controller
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package       app.Controller
 * @link http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
 */
class AppController extends Controller {
    //ZP: lo necesito en todos los controladores
  
    public $uses = array('Project','Organization');     
   //logIn /logOut
    public $paginate = array(
        'limit' => 10
    );
    public $components = array(
        'Session',
        'Auth' => array(
            'loginRedirect' => array('controller' => 'users', 'action' => 'view'),
            'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),
            'authorize' => array('Controller') 
        )
    );

            
    public function beforeFilter() {
        
        $this->Auth->allow('index','display');
    }
    public function isAuthorized($user) {
        //ZP: administrador puede entrar a todo
        if (isset($user['role']) && $user['role'] === 'admin') {
            return true;
        }

        // Default deny
        $this->Session->setFlash('No cuenta con los permisos necesarios');
        return false;
    }
    
  
    public function refreshSession($id){
        $this->Project->id = $id;
        $pro=$this->Project->read();
        if($this->Session->read('Organization')==null){
            $this->Organization->id=$pro['Project']['organization_id'];
            $org=$this->Organization->read();
            $org['Project']=$pro['Project']['id'];
            $this->Session->write('Organization',$org);
        }
        else{
            $org= $this->Session->read('Organization');
            $this->Session->delete('Organization');
        }
        
            $org['Project']=$pro['Project']['id'];
            $this->Session->write('Organization',$org);        
    }
    
    
    
    
}
